博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
layui 上传图片回显并点击放大实现
阅读量:4327 次
发布时间:2019-06-06

本文共 4335 字,大约阅读时间需要 14 分钟。

1、页面代码布局

2、点击放大设置

var renderImg = function () {            form.render();            layer.photos({                photos: '.theImg'                , anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)            });        }

3、上传成功之后,回显

//图片上传        upload.render({            elem: '#uploadImg'            , url: "commonCtrl/receiptUpload" //必填项            , method: ''  //可选项。HTTP类型,默认post            , accept: 'images'            , acceptMime: 'image/*'            , data: {flag: "rotationChart"} //可选项。额外的参数,如:{id: 123, abc: 'xxx'}            , before: function (obj) { //obj参数包含的信息,跟 choose回调完全一致,可参见上文。                //预读本地文件示例,不支持ie8            }            ,done: function(res){                //如果上传失败                if(!res.success){                    return layer.alert('上传失败');                }                //上传成功                var img = '';                $("#rotationChartDiv").html(img);                $("#url").val(res.data.url);                //点击放大           renderImg();            }            ,error: function(){                layer.msg("上传失败");            }        });

end:补上上传接口实现代码

controller层

@RequestMapping(value = "/receiptUpload", method = RequestMethod.POST)  @ResponseBody  public YJLResponseModel receiptUpload(@RequestParam("file") MultipartFile img, @RequestParam String flag) {    return UploadUtil.fileUploadServices(img, flag);  }

service层:

public static Map fileUploadServices(MultipartFile file,                                                      String flag) {        Map
result = new HashMap<>(); String name = file.getOriginalFilename(); String suffixName = ""; /* * MultipartFile转File */ File f = null; try { if (!name.contains(".")) { errorMsg = "文件不能为空!"; throw new Exception(getErrorMsg()); } else { suffixName = name.substring(name.indexOf(".")); f = File.createTempFile("tmp", null); //通过MultipartFile的transferTo(File dest)这个方法来转存文件到指定的路径。MultipartFile转存后,无法再操作,会报错 file.transferTo(f); //在JVM进程退出的时候删除文件,通常用在临时文件的删除. f.deleteOnExit(); /* * File转byte */ byte[] buffer = null; if (f != null) { FileInputStream fis = new FileInputStream(f); ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] b = new byte[1024]; int n; while ((n = fis.read(b)) != -1) { bos.write(b, 0, n); } fis.close(); bos.close(); buffer = bos.toByteArray(); /* * byte上传到webService */ UploadService myServiceImplService = new UploadService(); UploadServiceSoap msis = myServiceImplService.getUploadServiceSoap(); //是否上传成功 Holder
hb = new Holder<>(); //上传成功后文件的路径 Holder
hs = new Holder<>(); msis.uploadFile(buffer, flag, suffixName, hb, hs); if (hb.value) { setSuccess(true); Map
map = new HashMap<>(); map.put("url", hs.value); result.put("data",map); } else { errorMsg = "上传失败!"; } } else { errorMsg = "文件不能为空!"; throw new Exception(getErrorMsg()); } } } catch (Exception e) { e.printStackTrace(); logger.error(e.getMessage()); } finally{ result.put("msg",errorMsg); } return result; }

 

转载于:https://www.cnblogs.com/yangyuke1994/p/10194195.html

你可能感兴趣的文章
iOS开发播放文本
查看>>
20145202马超《java》实验5
查看>>
JQuery 事件
查看>>
main(argc,argv[])
查看>>
在线教育工具—白板系统的迭代1——bug监控排查
查看>>
121. Best Time to Buy and Sell Stock
查看>>
hdu 1005 根据递推公式构造矩阵 ( 矩阵快速幂)
查看>>
安装php扩展
查看>>
百度移动搜索主要有如下几类结果构成
查看>>
Python爬虫面试题170道:2019版【1】
查看>>
JavaBean规范
查看>>
第四阶段 15_Linux tomcat安装与配置
查看>>
NAS 创建大文件
查看>>
学习笔记-模块之xml文件处理
查看>>
接口测试用例
查看>>
面试:用 Java 实现一个 Singleton 模式
查看>>
Sybase IQ导出文件的几种方式
查看>>
案例:手动输入一个字符串,打散放进一个列表,小写字母反序 大写字母保持不变...
查看>>
linux 系统下 tar 的压缩与解压缩命令
查看>>
阿里负载均衡,配置中间证书问题(在starcom申请免费DV ssl)
查看>>